// list相关配置
import {nanoid} from 'nanoid'
export default {
    namespaced:true,
    //准备actions对象——响应组件中用户的动作
    actions:{
        add(context,listObj){
            // console.log(this);
            // console.log("title: "+listObj.title);
            if(listObj.title===''||listObj.title===null){
                alert('添加不能为空')
            }else{
                context.commit('Add',listObj)
            }
        },      
   },
   // 准备mutations对象——修改state中的数据
   mutations:{
        SetUserId(state,id){
            state.userId = id

        },
        Add(state,title){
            for(let i of state.todosLists){
                if (state.userId == i.id) {
                    i.todos.unshift(title)
                }
            }
        },
        HandleCheck(state,id){
            // console.log(id)
            for(let i of state.todosLists){
                if (state.userId == i.id) {
                    i.todos.forEach((todo)=>{
                        if(todo.id===id){
                            todo.done=!todo.done
                            // console.log(123)
                        }
                    })
                }
            }
            
        },
        DeleteList(state,id){
            for(let i of state.todosLists){
                if (state.userId == i.id) {
                    if(confirm('确定删除吗？')){
                        i.todos = i.todos.filter((todo)=>{
                            return todo.id!==id
                        })
                    }
                }
            }          
        },
        AllCheck(state,ck){
            for(let i of state.todosLists){
                if (state.userId == i.id) {
                    i.todos.forEach((todo)=>{
                        todo.done = ck
                    })
                }
            }
            
        },
        CheckDelete(state){
                                // console.log(123)

             for(let i of state.todosLists){
                if (state.userId == i.id) {
                    if(confirm('确定删除吗？')){  
                        i.todos = i.todos.filter((todo)=>{
                            return todo.done!==true
                        })
                    }
                }
            }

        },
        ex(state){
            console.log('调用了');
        },
        setListId(state,id){
            var a = 0
            for(let i of state.todosLists){

                if (id == i.id) {
                    state.listId = a
                    // console.log('userId:'+a);
                }
                a++
            }
        },
        HandleBlur(state,todo,e){
            for(let i of state.todosLists){
                if (state.userId == i.id) {
                    i.todos.forEach((t)=>{
                        if(t.id===todo.id){
                            
                            // console.log(123)
                        }
                    })
                }
            }
        }
   },
   // 准备state对象——保存具体的数据
   state:{
        todosLists:JSON.parse(localStorage.getItem('todosLists'))||[],
        // todosLists:[
        //     {id:'Steakvb0zVtEIqU16zHd6',
        //     todos:[{id:'001',title:'a',done:false},
        //     {id:'002',title:'b',done:false}]
        //     },
        //     {id:'w741yBC0Jddr41Ba2O0Hk',
        //     todos:[{id:'001',title:'b',done:false}]
        //     }
        // todos:'',
        userId:'',
        listId:''
   },

   getters:{
    doneLength(state){
        for(let i of state.todosLists){
            if (state.userId == i.id) {
                var doneLength = 0
                i.todos.forEach((todo)=>{
                    if(todo.done){
                        doneLength++
                    }
                })
                return doneLength
            }
        }

    },
},
}